iT邦幫忙

2024 iThome 鐵人賽

DAY 7
1

Day7 強化學習

前言

還記得好幾年前甚麼都不懂的時候有看到AlphaGo戰勝最強棋王,那時候只知道AI好厲害,但根本不知道那是什麼東西,過了幾年開始接觸到了才發現原來是機器學習領域內的強化學習,真的是太厲害了。而在前幾天有提到過強化學習,所以今天會介紹強化學習的基本概念,並在之後幾天深入探討強化學習。
image

強化學習

強化學習 (Reinforcement Learning) 的特徵是不需給機器任何的資料,讓機器直接從互動中去學習,這是最接近大自然與人類原本的學習方式。舉個例子來說,這有點像訓練動物一樣,當牠們表現良好時給予獎勵,表現不好時給予懲罰。

強化學習算法的基本組成和流程

image
主要有四個元素:

  1. Agent(代理):負責在環境中執行動作,而代理內部有兩個重要組件:
    • Policy(策略):決定代理在不同情況下應該採取的行動。
    • Reinforcement Learning Algorithm(強化學習算法):根據觀察和獎勵來更新策略。
  2. Environment(環境):代理在其中操作並從中獲得觀察和獎勵。
  3. Observation(觀察):代理從環境中獲得的訊息。
  4. Action(動作):代理根據觀察做出的行動。

簡單來說明,強化學習透過建立一個代理人,代理人根據當前的策略(Policy),選擇一個行動(Action)。在環境中執行選擇的行動(Action),可能會導致環境狀態的變化,環境根據代理的行動,返回一個回報(Reward)以及下一個狀態(Next State)。這些訊息用於評估代理的行動好壞。代理使用強化學習算法,根據接收到的回報和新狀態來更新其策略。

接著我們搭配下面的讓AI自己學走路影片來服用。

讓AI自己學走路

image
我們透過這個可愛的影片來看看如何透過強化學習來訓練一個Albert(機器人)學會走路。

  • Albert的訓練過程
    • 房間1:

      • 目標: 第一關的設計是想讓Albert學會朝目標移動。
      • 獎勵機制: 透過獎勵朝目標移動的距離,並懲罰朝錯誤方向移動。結果Albert發現用蠕動的方式最容易移動。
    • 房間2:

      • 目標: 鼓勵Albert站立並使用腳移動。
      • 獎勵機制: 當腳觸地並保持站立時獲得獎勵,使用過大力量會被懲罰。這使Albert開始學會用腳移動並保持平衡。
    • 房間3:

      • 目標: 改善Albert的步態並學會轉彎。
      • 獎勵機制: 獎勵胸部高度,讓Albert盡量站直。這使得他的步態更加穩定和自然。
    • 房間4:

      • 目標: 讓Albert學會更自然的步行動作。
      • 獎勵機制: 設置2秒計時器,獎勵腳交換位置的動作,並根據步伐距離獲得獎勵。還根據身體速度變化進行懲罰,以達到平滑運動。這一步驟使Albert開始跨出更大步伐,動作也更加穩定。
    • 房間5:

      • 目標: 最終優化步態,使Albert走得更像人類。
      • 獎勵機制: 回到只獎勵前腳觸地的設定,這使得Albert的步態更加自然。取消每5幀決策一次的限制,讓他每幀都能決策,從而使動作更平滑。

在這段影片中,我們看到了Albert通過強化學習,從最初的蠕動到最後的自然步行。有沒有發現這很像小寶寶在學習走路的過程,從一開始的不會移動,到開始會爬,最後跌跌撞撞的站起來到最後的學會走路,而這個過程也展示了如何透過逐步增加移動難度,並使用不同的獎勵機制來引導AI學習。這也是強化學習的核心就在於通過不斷試驗和反饋來優化行動策略,使得AI逐漸達到理想的行動效果。

強化學習的優點

使用強化學習 (RL) 有很多好處。但是下面幾點是他最明顯的優勢。

  1. 在複雜環境中表現出色

    • 強化學習(RL)算法在具有大量規則和相依性的複雜環境中表現出色。這些算法可以在沒有完整環境模型的情況下進行學習,特別是無模型(model-free)RL算法,它們可以根據環境反饋動態調整策略。例如,在遊戲、機器人導航、自動駕駛等領域,RL算法能夠學習並適應複雜的策略,即使是人類專家也難以找到最佳路徑或策略。
  2. 需要較少的人類互動

    • 傳統機器學習(ML)算法通常需要大量標記數據來進行訓練,但RL算法依靠的是環境中的反饋信號(獎勵或懲罰),而不是預先標記的數據。這樣的機制大大減少了對人類標記數據的需求,節省了大量時間和成本。同時,RL算法還可以通過整合人類的回饋意見來進行微調,使其更加符合人類的偏好和專業知識。
  3. 針對長期目標最佳化

    • RL的核心目標是最大化長期累積獎勵,這使得它在需要考慮長期後果的情境中特別有用。這與一些其他算法不同,它們可能更關注於立即的獎勵或損失。例如,在能源管理、資源分配、投資決策等領域,短期行動的影響可能在很久之後才會顯現出來。RL算法可以通過學習延遲獎勵來做出最佳決策,從而優化長期目標。

結語

今天帶大家認識了強化學習的一些基礎概念,接下來的幾天我會透過介紹常見的算法,再到利用實作模擬強化學習的過程,有興趣的可以繼續往下閱讀文章喔!


上一篇
[Day6] 半監督式學習:結合監督與非監督的力量
下一篇
[Day8] 探討強化學習的秘密 - 策略與價值
系列文
深度學習的學習之旅:從理論到實作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言